package com.jingbian.cppccbackend.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jingbian.cppccbackend.entity.FileInfo;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class ProposalsDetailVO {
  private static final long serialVersionUID = 1L;
  private Integer pid; // 提案ID
  private Integer userId; // 用户ID(外键)
  private String proposer; // 提案人
  private String caseReason; // 案由
  private String proposalContent; // 提案内容
  private String proposerRegion; // 提案人地区
  private String proposalType; // 提案类型
  private Boolean isPublic; // 是否愿意被公开
  private String finalDisposition; // 处理结果
  private String status; // 状态
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime submitTime; // 提案时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime firstAuditTime; // 初审时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime recheckTime; // 复审时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime shuntTime; // 分流时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime specialHandlingTime; // 专项处理时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime finalReplyTime; // 最终批复时间
  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
  private LocalDateTime completionTime; // 处理完结时间
  private Boolean isFrist; // 初审是否通过
  private Boolean isRecheck; // 复审是否通过
  private Boolean isShunt; // 是否分流
  private String department; // 分流部门
  private Boolean isHanding; // 专项处理是否通过
  private String handingResult; // 专项处理结果
  private Integer isFinal; // 最终批复是否通过
  private String attachments; // 提案附件（逗号分隔的字符串）
  private List<String> fileName; // 文件名字
  private List<String> signersName; // 提案联名人名字（逗号分隔的字符串）
  private List<FileInfo> fileInfo; //文件
  private Boolean isOr;

  private String topic;
  private String organizerWill;
}
